Automatically Generating Coarse Grained Software Pipelining from Declaratively Specified Communication
نویسندگان
چکیده
We have been developing a declarative approach to writing parallel programs, in a language called Kanor, with the goal of addressing the productivity challenge in parallel programming. A guiding principle in the design of our approach has been to abstract away those details that a compiler can feasibly and effectively handle, while still affording the programmers the ability to optimize their parallel programs. A critical job of the compiler is to optimize communication in the parallel program in the context of the surrounding computation. In this paper, we demonstrate that it is possible to perform advanced optimizations in such a compiler by devising an algorithm that identifies software pipelining opportunities in a program written with Kanor and generates software pipelined code for a cluster, using MPI.
منابع مشابه
Loop Kernel Pipelining Mapping onto Coarse-Grained Reconfigurable Architecture for Data-Intensive Applications
Coarse-grained reconfigurable architectures (CGRA) provide flexible and efficient solution for data-intensive applications. Loop kernels of these applications always consume much execution time of the whole program. However, mapping loop kernels onto CGRA is still hard to meet performance/cost constraints. This paper proposes a novel approach for automatically mapping loop kernels onto CGRA wit...
متن کاملUsing System Hyper Pipelining (SHP) to Improve the Performance of a Coarse-Grained Reconfigurable Architecture (CGRA) Mapped on an FPGA
The well known method C-Slow Retiming (CSR) can be used to automatically convert a given CPU into a multithreaded CPU with independent threads. These CPUs are then called streaming or barrel processors. System Hyper Pipelining (SHP) adds a new flexibility on top of CSR by allowing a dynamic number of threads to be executed and by enabling the threads to be stalled, bypassed and reordered. SHP i...
متن کاملCombining Coarse-Grained Software Pipelining with DVS for Scheduling Real-Time Periodic Dependent Tasks on Multi-Core Embedded Systems
In this paper, we combine coarse-grained software pipelining with DVS (Dynamic Voltage/Frequency Scaling) for optimizing energy consumption of streambased multimedia applications on multi-core embedded systems. By exploiting the potential of multi-core architecture and the characteristic of streaming applications, we propose a two-phase approach to solve the energy minimization problem for peri...
متن کاملAn improved joint model: POS tagging and dependency parsing
Dependency parsing is a way of syntactic parsing and a natural language that automatically analyzes the dependency structure of sentences, and the input for each sentence creates a dependency graph. Part-Of-Speech (POS) tagging is a prerequisite for dependency parsing. Generally, dependency parsers do the POS tagging task along with dependency parsing in a pipeline mode. Unfortunately, in pipel...
متن کاملInner Loop Code Generation for Coarse-Grained Reconfigurable Instruction Set Processors
Reconfigurable instruction set processors can potentially reduce the power consumption of high performance multimedia applications by fusing the concept of a reconfigurable array with a programmable processor. In particular, VLIW processors with coarse-grained reconfigurable functional units are specially suited to low power multimedia applications. Code generation for this type of processors i...
متن کامل